package com.yixun.qfbao.service.impl;

import java.util.ArrayList;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.yixun.qfbao.mapper.ModelInfoMapper;
import com.yixun.qfbao.model.ModelInfo;
import com.yixun.qfbao.service.ModelInfoService;

@Service("modelInfoService")
public class ModelInfoServiceImpl implements ModelInfoService {

	@Autowired
	ModelInfoMapper modelInfoMapper;
	
	/**
	 * 批量插入模板
	 * @param modelList
	 * @return
	 */
	@Override
	public int batchInsertModelInfo(List<ModelInfo> modelInfoList) {
		return modelInfoMapper.batchInsert(modelInfoList);
	}

	/**
	 * 按照modelInfo查询
	 */
	@Override
	public List<ModelInfo> selectListByDto(ModelInfo modelInfo) {
		return modelInfoMapper.selectListByDto(modelInfo);
	}

	/**
	 * 删除
	 */
	@Override
	public int delByDto(ModelInfo modelInfo) {
		return modelInfoMapper.delByDto(modelInfo);
	}

	/**
	 *  保存新的模板信息
	 *  	删除历史对应的模板名称以及公司关联的数据信息。且新增当前关联信息的新的模板信息
	 */
	@Override
	public void saveModelValue(ModelInfo modelInfo) {
		Long modelId = modelInfo.getModelId();
		// 兼容历史。
		if(modelId == null || modelId == 0L) {
			return;
		}
		String modelValue = modelInfo.getModelValue();
		modelInfo.setModelId(null);
		modelInfo.setModelValue(modelValue);
		delByDto(modelInfo);
		
		modelInfo.setModelId(modelId);
		modelInfo.setModelValue(modelValue);
		
		// 保存当前营业执照信息
		List<ModelInfo> modelInfoList = new ArrayList<>();
		modelInfoList.add(modelInfo);
		batchInsertModelInfo(modelInfoList);
	}
	
}
